package com.zhentao.service;

import com.zhentao.pojo.PlayRecord;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author lenovo
* @description 针对表【play_record(播放记录表)】的数据库操作Service
* @createDate 2025-10-14 09:53:42
*/
public interface PlayRecordService extends IService<PlayRecord> {

    /**
     * 保存或更新播放记录
     * @param userId 用户ID
     * @param contentId 内容ID
     * @param chapterId 章节ID
     * @param progress 播放进度（秒）
     * @return 播放记录
     */
    PlayRecord saveOrUpdateRecord(Long userId, Long contentId, Long chapterId, Integer progress);

    /**
     * 获取用户的播放记录列表
     * @param userId 用户ID
     * @return 播放记录列表
     */
    List<PlayRecord> getUserPlayRecords(Long userId);

    /**
     * 获取用户某个内容的播放记录
     * @param userId 用户ID
     * @param contentId 内容ID
     * @return 播放记录
     */
    PlayRecord getPlayRecordByUserAndContent(Long userId, Long contentId);

    /**
     * 获取用户某个章节的播放记录
     * @param userId 用户ID
     * @param chapterId 章节ID
     * @return 播放记录
     */
    PlayRecord getPlayRecordByUserAndChapter(Long userId, Long chapterId);

    /**
     * 删除用户的播放记录
     * @param userId 用户ID
     * @param contentId 内容ID
     * @return 是否成功
     */
    boolean deletePlayRecord(Long userId, Long contentId);
}
